package com.atguigu.yygh.user.service;

import com.atguigu.yygh.model.user.UserInfo;
import com.atguigu.yygh.vo.user.LoginVo;
import com.atguigu.yygh.vo.user.UserAuthVo;
import com.atguigu.yygh.vo.user.UserInfoQueryVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

/**
 * @author ybl
 * @version 1.9
 * @date 2021/5/20 11:31
 */
public interface UserInfoService extends IService<UserInfo> {

  // 用户登录验证
  Map<String, Object> login(LoginVo loginVo);

  // 先根据openid进行数据库查询
  UserInfo getByOpenid(String openId);

  // 用户认证
  void userAuth(Long id, UserAuthVo userAuthVo);

  //分页获取用户列表
  IPage<UserInfo> getUserInfoList(Page<UserInfo> pageParam, UserInfoQueryVo userInfoQueryVo);

  // 用户的锁定与解锁
  void userLock(Long userId, Integer status);

  // 用户的详情
  Map<String, Object> userDetail(Long userId);

  //认证审批
  void approval(Long userId, Integer authStatus);
}
